home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: delta / whiteline CD Series - delta.iso / vision / povray / scenes / level3 / roman.pov < prev    next >
Text File  |  1995-11-25  |  5KB  |  224 lines

  1. // Persistence Of Vision raytracer version 2.0 sample file.
  2. // By Rick Mallett of Carleton University,  Ottowa.
  3. // First stage of the Tower of Pisa 
  4. // Warning:  This picture can take a very long time to ray trace
  5. // due to the large number of objects.  You have been warned :->  
  6.  
  7. #include "shapes.inc"
  8. #include "colors.inc"
  9. #include "textures.inc"
  10.  
  11. camera {
  12.    location <0.0, 25.0, -150.0>
  13.    direction <0.0, 0.1, 1.0>
  14.    up <0.0, 1.0, 0.0>
  15.    right <4/3, 0.0, 0.0>
  16. }
  17.  
  18. #declare Beam = object {
  19.    Cylinder_Y
  20.    scale <0.5, 20.0, 0.5>
  21.    translate 2.0*x
  22. }
  23.  
  24. /* create a sample column for the base of the structure */
  25.  
  26. #declare BaseColumn = intersection {
  27.    union {
  28.       object { Beam }
  29.       object { Beam rotate  -25.7*y }
  30.       object { Beam rotate  -51.4*y }
  31.       object { Beam rotate  -77.1*y }
  32.       object { Beam rotate -102.8*y }
  33.       object { Beam rotate -128.5*y }
  34.       object { Beam rotate -154.2*y }
  35.       object { Beam rotate -179.9*y }
  36.       object { Beam rotate -205.6*y }
  37.       object { Beam rotate -231.3*y }
  38.       object { Beam rotate -257.0*y }
  39.       object { Beam rotate -282.7*y }
  40.       object { Beam rotate -308.4*y }
  41.       object { Beam rotate -334.1*y }
  42.    }
  43.  
  44.    plane { y, 40.0 }
  45.    plane { -y, 0.0 }
  46.  
  47.    bounded_by {
  48.       intersection {
  49.          plane { y, 40.0 }
  50.          plane { -y, 0.0 }
  51.          object { Cylinder_Y scale <2.51 1.0 2.51> }
  52.       }
  53.    }
  54.  
  55.    texture {
  56.       pigment {
  57.          Red_Marble
  58.          scale 10.0
  59.          quick_color red 0.8 green 0.0 blue 0.0
  60.       }
  61.       finish {
  62.          ambient 0.2
  63.          diffuse 0.7
  64.          reflection 0.1
  65.       }
  66.    }
  67. }
  68.  
  69. /* and a rectangular pad to serve as a footing for the column */
  70.  
  71. #declare BasePad = object {
  72.    UnitBox
  73.    scale <4, 1, 4>
  74.  
  75.    texture {
  76.       pigment {
  77.          Red_Marble
  78.          scale 10.0
  79.          quick_color red 0.6 green 0.6 blue 0.4
  80.       }
  81.       finish {
  82.          ambient 0.2
  83.          diffuse 0.7
  84.          reflection 0.1
  85.       }
  86.    }
  87. }
  88.  
  89. /* and define a basic arch to span the columns */
  90.  
  91. #declare BaseArch = intersection {
  92.    object { Cylinder_X scale <1.0, 12.5, 12.5> }
  93.    object { Cylinder_X scale <1.0, 8.5, 8.5> inverse }
  94.    plane { x, 2.0 }
  95.    plane { -x, 2.0 }
  96.    plane { -y, 0.0 }
  97.  
  98.  
  99.    bounded_by {
  100.       sphere { <0, 0, 0>, 1 scale <5.0, 13.0, 13.0> }
  101.    }
  102.  
  103.    texture {
  104.       pigment {
  105.          Red_Marble
  106.          scale 10.0
  107.          quick_color red 0.8 green 0.8 blue 0.8
  108.       }
  109.       finish {
  110.          ambient 0.2
  111.          diffuse 0.7
  112.          reflection 0.1
  113.       }
  114.    }
  115. }
  116.  
  117. /* and finally define the first floor floor */
  118.  
  119. #declare BaseFloor = intersection {
  120.    object { Cylinder_Y scale 50.0 }
  121.    object { Cylinder_Y scale 40.0 inverse }
  122.    plane { y, 2.0 }
  123.    plane { -y, 2.0 }
  124.  
  125.    texture {
  126.       pigment {
  127.          Red_Marble
  128.          scale 10.0
  129.          quick_color red 0.8 green 0.8 blue 0.6
  130.       }
  131.       finish {
  132.          ambient 0.2
  133.          diffuse 0.7
  134.          reflection 0.1
  135.       }
  136.    }
  137. }
  138.  
  139. /* place a ring of 14 columns with footings around the base */
  140.  
  141. #declare FullColumn = union {
  142.    object { BaseColumn translate <45.0, 0.0, 0.0> }
  143.    object { BasePad    translate <45.0, -1.0, 0.0> }
  144.    object { BasePad    translate <45.0, 41.0, 0.0> }
  145.    object { BaseArch   translate <45.0, 42.0, 2.0> rotate <0.0, -12.85, 0.0> }
  146. }
  147.  
  148. #declare Level1 = union {
  149.    object { FullColumn }
  150.    object { FullColumn rotate  -25.7*y }
  151.    object { FullColumn rotate  -51.4*y }
  152.    object { FullColumn rotate  -77.1*y }
  153.    object { FullColumn rotate -102.8*y }
  154.    object { FullColumn rotate -128.5*y }
  155.    object { FullColumn rotate -154.2*y }
  156.    object { FullColumn rotate -179.9*y }
  157.    object { FullColumn rotate -205.6*y }
  158.    object { FullColumn rotate -231.3*y }
  159.    object { FullColumn rotate -257.0*y }
  160.    object { FullColumn rotate -282.7*y }
  161.    object { FullColumn rotate -308.4*y }
  162.    object { FullColumn rotate -334.1*y }
  163.    object { FullColumn rotate -334.1*y }
  164.    object { BaseFloor translate 56.5*y }
  165.  
  166.    bounded_by {
  167.       intersection { 
  168.          object { Cylinder_Y scale <55.0, 1.0, 55.0> }
  169.          plane { -y, 0.0 }
  170.          plane { y, 60.0 }
  171.       }
  172.    }
  173. }
  174.  
  175. object { Level1 }
  176.  
  177. /* Add the sky to the picture */
  178. sphere {
  179.    <0.0, 0.0, 0.0>, 300.0
  180.  
  181.    texture {
  182.       pigment {
  183.          bozo
  184.          turbulence 0.5
  185.          colour_map {
  186.             [0.0 0.6   colour red 0.5 green 0.5 blue 1.0
  187.                        colour red 0.5 green 0.5 blue 1.0]
  188.             [0.6 0.8   colour red 0.5 green 0.5 blue 1.0
  189.                        colour red 1.0 green 1.0 blue 1.0]
  190.             [0.8 1.001 colour red 1.0 green 1.0 blue 1.0
  191.                        colour red 0.8 green 0.8 blue 0.8]
  192.          }
  193.          scale <100.0, 20.0, 100.0>
  194.          quick_color red 0.5 green 0.5 blue 1.0
  195.       }
  196.       finish {
  197.          ambient 0.8
  198.          diffuse 0.0
  199.       }
  200.    }
  201. }
  202.  
  203. /* Define the desert floor */
  204. plane {
  205.    y, -2.0
  206.  
  207.    texture {
  208.       pigment { colour red 1.0 green 0.66 blue 0.2 }
  209.       normal {
  210.          ripples 0.5
  211.          frequency 2000.0
  212.          scale 50000.0
  213.       }
  214.       finish {
  215.          crand 0.05  /* This value dithers the colours */
  216.          ambient 0.3
  217.          diffuse 0.7
  218.       }
  219.    }
  220. }
  221.  
  222. /* Add a light source */
  223. light_source { <60.0, 50.0, -110.0> colour White }
  224.